Linear feedback shift calculation apparatus, communication apparatus, microprocessor, and data output method in a linear feedback calculation apparatus

ABSTRACT

A linear feedback shift calculation apparatus, into which input data is input, and which outputs output data, including: an L generation unit which generates q values of q0 to qN-2 represented by: q k = { p 0 ( k = 0 ) p k + ∑ i = 0 k - 1 ⁢ q k - 1 - i × p i ( 1 &lt;= k &lt;= N - 2 ) Equation ⁢ ⁢ 1 (where, p0, p1, . . . , pN-1, q0, q1, . . . , qN-2 belong to Galois field GF(2)) from coefficients p0 to pN-2 among inputted coefficients p-1 to pN-1 (wherein, N is a natural number of 2 or more); and a matrix calculation unit which outputs the output data calculated from the output data b0 to bN-1 represented by: ( b N - 1 b N - 2 ⋮ b o ) = L × ( U × ( a N - 1 a N - 2 ⋮ a 0 ) + p - 1 × ( a - 1 a - 2 ⋮ a - N ) ) Equation ⁢ ⁢ 2 and L = ( 1 0 ... 0 0 0 q 0 1 0 ... 0 0 q 1 q 0 1 0 ... 0 ⋮ ⋱ ⋱ ⋱ ⋮ q N - 3 q N - 4 ... q 0 1 0 q N - 2 q N - 3 ... q 1 q 0 1 ) Equation ⁢ ⁢ 3 U = ( p N - 1 p N - 2 ... p 2 p 1 p 0 0 p N - 1 p N - 2 ... p 2 p 1 0 0 p N - 1 p N - 2 ... p 2 ⋮ ⋱ ⋱ ⋱ ⋮ 0 0 ... 0 p N - 1 p N - 2 0 0 ... 0 0 p N - 1 ) ⁢ from the q values q0 to qN-2, the coefficients p-1 to pN-1 and the input data a-N to a-1, a0 to aN-1.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2008-269523, filed on Oct. 20, 2008, the entire contents of which are incorporated herein by reference.

FIELD

The embodiments discussed herein are related to a linear feedback shift calculation apparatus, a communication apparatus, a microprocessor, and a data output method in a linear feedback shift calculation apparatus.

BACKGROUND

Communication apparatuses such as cell phones have conventionally been provided with a linear feedback shift calculation apparatus for processing various signals. For example, a linear feedback shift calculation apparatus is used as a scrambler for pseudo-randomizing transmission signals in order to compress transmission signal jitter and the like. Examples of this type of related art are described in Japanese Laid-open Patent Publication No. 2005-101753 and Japanese Laid-open Patent Publication No. H9-190339.

However, as depicted in FIG. 19B of Japanese Laid-open Patent Publication No. 2005-101753 and FIG. 3 of Japanese Laid-open Patent Publication No. H9-190339, a linear feedback shift calculation apparatus capable of parallel processing of multiple bits with a single clock has a feedback line connected to the next stage, and uses the results of the previous stage to carry out arithmetic processing. Consequently, delays accumulate and a considerable delay results for outputting all bits.

SUMMARY

According to an aspect of the invention, a linear feedback shift calculation apparatus, into which input data is input, and which outputs output data, including: an L generation unit which generates q values of q₀ to q_(N−2) represented by:

$\begin{matrix} {q_{k} = \left\{ \begin{matrix} p_{0} & \left( {k = 0} \right) \\ {p_{k} + {\sum\limits_{i = 0}^{k - 1}{q_{k - 1 - i} \times p_{i}}}} & \left( {1 \leq k \leq {N - 2}} \right) \end{matrix} \right.} & {{Equation}\mspace{14mu} 1} \end{matrix}$ (where, p₀, p₁, . . . , p_(N−1), q₀, q₁, . . . , q_(N−2) belong to Galois field GF(2)) from coefficients p₀ to p_(N−2) among inputted coefficients p⁻¹ to p_(N−1) (wherein, N is a natural number of 2 or more); and a matrix calculation unit which outputs the output data calculated from the output data b₀ to b_(N−1) represented by:

$\begin{matrix} {\begin{pmatrix} b_{N - 1} \\ b_{N - 2} \\ \vdots \\ b_{o} \end{pmatrix} = {L \times \left( {{U \times \begin{pmatrix} a_{N - 1} \\ a_{N - 2} \\ \vdots \\ a_{0} \end{pmatrix}} + {p_{- 1} \times \begin{pmatrix} a_{- 1} \\ a_{- 2} \\ \vdots \\ a_{- N} \end{pmatrix}}} \right)}} & {{Equation}\mspace{14mu} 2} \\ {and} & \; \\ {{L = \begin{pmatrix} 1 & 0 & \ldots & 0 & 0 & 0 \\ q_{0} & 1 & 0 & \ldots & 0 & 0 \\ q_{1} & q_{0} & 1 & 0 & \ldots & 0 \\ \vdots & \; & \ddots & \ddots & \ddots & \vdots \\ q_{N - 3} & q_{N - 4} & \ldots & q_{0} & 1 & 0 \\ q_{N - 2} & q_{N - 3} & \ldots & q_{1} & q_{0} & 1 \end{pmatrix}}{U = \begin{pmatrix} p_{N - 1} & p_{N - 2} & \ldots & p_{2} & p_{1} & p_{0} \\ 0 & p_{N - 1} & p_{N - 2} & \ldots & p_{2} & p_{1} \\ 0 & 0 & p_{N - 1} & p_{N - 2} & \ldots & p_{2} \\ \vdots & \; & \ddots & \ddots & \ddots & \vdots \\ 0 & 0 & \ldots & 0 & p_{N - 1} & p_{N - 2} \\ 0 & 0 & \ldots & 0 & 0 & p_{N - 1} \end{pmatrix}}} & {{Equation}\mspace{14mu} 3} \end{matrix}$ from the q values q₀ to q_(N−2), the coefficients p⁻¹ to p_(N−1) and the input data a_(−N) to a⁻¹, a₀ to a_(N−1).

The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.

It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is an example of the configuration of a digital information transmission and reception apparatus (communication apparatus);

FIG. 2 is an example of the configuration of a linear feedback shift calculation apparatus;

FIG. 3 is an example of the configuration of an L generation apparatus;

FIG. 4 is an example of the configuration of a matrix calculation apparatus;

FIG. 5 is a flow chart depicting an example of processing by the linear feedback shift calculation apparatus;

FIG. 6 is another example of the configuration of a linear feedback shift calculation apparatus;

FIG. 7 is another example of the configuration of a linear feedback shift calculation apparatus;

FIG. 8 is another example of the configuration of a linear feedback shift calculation apparatus;

FIG. 9 is an example of simulation results;

FIG. 10 is an example of simulation results;

FIG. 11 is an example of simulation results;

FIG. 12 is an example of simulation results;

FIG. 13 is another example of the configuration of a linear feedback shift calculation apparatus;

FIG. 14 is another example of the configuration of a linear feedback shift calculation apparatus; and

FIG. 15 is another example of the configuration of a linear feedback shift calculation apparatus.

DESCRIPTION OF EMBODIMENTS

The following provides an explanation of preferred embodiments of the present invention with reference to the drawings.

FIG. 1 is an example of the configuration of a digital information transmission and reception apparatus (or communication apparatus) 1. The digital information transmission and reception apparatus 1 is provided with a transmission frame assembly unit 10, a linear feedback shift calculation apparatus 20, a channel modulation unit 30, a CPU 40, a control register 45, a frame parameter selection circuit 50, a conversion characteristic polynomial coefficient selection circuit 55, a modulation-demodulation parameter selection circuit 60, a channel demodulation unit 65, and a transmission frame disassembly unit 75.

The transmission frame assembly unit 10 converts digital transmission information to frames corresponding to the communication format (CDMA format, WiMAX format, IEEE802.11a/b or other wireless LAN format) based on frame parameters from the frame parameter selection circuit 50 and outputs those frames.

The linear feedback shift calculation apparatus 20 outputs encoded data obtained by scrambling and converting data contained in transmission frames based on a characteristic polynomial coefficient from the conversion characteristic polynomial coefficient selection circuit 55. The characteristic polynomial coefficient can also adopt various values corresponding to the communication format. The linear feedback shift calculation apparatus 20 is also a digital data conversion apparatus.

Furthermore, in addition to scrambling conversion, the linear feedback shift calculation apparatus 20 can also be embodied in the case of generating or testing data CRC codes or generating spread codes according to the CDMA format. In the present embodiment, the linear feedback shift calculation apparatus 20 is explained using the example of scrambling conversion.

The channel modulation unit 30 modulates each data of transmission frames following scrambling conversion based on the modulation parameters from the modulation-demodulation parameter selection circuit 60. The demodulation parameters can also adopt different values corresponding to the communication format. Modulated transmission frames are output to the channel.

The CPU 40 outputs control data indicating the communication format and the like.

The control register 45 retains control data from the CPU 40 and outputs the data to the frame parameter selection circuit 50, the conversion characteristic polynomial coefficient selection circuit 55 and the modulation-demodulation parameter selection circuit 60.

The frame parameter selection circuit 50 selects frame parameters corresponding to the communication format based on control data from the CPU 40, and outputs the frame parameters to the transmission frame assembly unit 10.

The conversion characteristic polynomial coefficient selection circuit 55 selects a characteristic polynomial coefficient corresponding to the communication format based on control data from the CPU 40, and outputs the coefficient to the linear feedback shift calculation apparatus 20.

The modulation-demodulation parameter selection circuit 60 selects modulation parameters and demodulation parameters corresponding to the communication format based on control data from the CPU 40, and outputs the parameters to the channel modulation unit 30 and the channel demodulation unit 65, respectively.

The frame parameter selection circuit 40, the conversion characteristic polynomial coefficient selection circuit 55 and the modulation-demodulation parameter selection circuit 60 may each be memories, and frame parameters, characteristic polynomial coefficients and modulation-demodulation parameters are stored therein.

The channel demodulation unit 65 demodulates data contained in transmission frames from the channel based on demodulation parameters.

The linear feedback shift calculation (descrambling conversion) apparatus 20 on the receiving side has the same configuration as the linear feedback shift calculation apparatus 20 on the sending side. Input data input to the receiving-side linear feedbacks shift calculation apparatus 20 is demodulated data, while output data is data output to the transmission frame disassembly unit 75. Data is deconverted to the original input data (digital transmission information) by carrying out scrambling conversion twice.

The transmission frame disassembly unit 75 extracts digital reception information from transmission frames containing descrambled converted data.

The digital transmission and reception apparatus 1 can carry out communication corresponding to multiple communication formats.

In addition, in the digital transmission and reception apparatus 1, the linear feedback shift calculation apparatus 20 may be made to calculate a portion of data contained in transmission frames output from the transmission frame assembly unit 10. For example, the linear feedback shift calculation unit 20 may be made to substitute a portion of the transmission frames with descrambled converted data.

Moreover, the linear feedback shift calculation apparatus 20 may be made to calculate a portion of data contained in transmission frames and insert the calculated data into transmission frames.

The receiving-side linear feedback shift calculation apparatus 20 may also be made to calculate a portion of the demodulated transmission frames and substitute a portion of those transmission frames with calculated data.

FIG. 2 is an example of the configuration of the linear feedback shift calculation apparatus 20. The linear feedback shift calculation apparatus 20 is provided with an L generation apparatus 210, a pq value storage element 220, a matrix calculation apparatus 230, and an output storage element 240.

The L generation apparatus 210 is input with characteristic polynomial coefficients p⁻¹ to p_(N−1) (where, N is a natural number of 2 or more) from the conversion characteristic polynomial coefficient selection circuit 55, and outputs q values q₀ to q_(N−2) using characteristic polynomial coefficients p₀ to p_(N−2). The L generation apparatus 210 brings together those specific portions of calculations executed by the linear feedback shift calculation apparatus 20 that can be calculated by characteristic polynomial coefficients only, the details of which are described later.

The pq value storage element 220 stores characteristic polynomial coefficients p⁻¹ to p_(N−1) from the conversion characteristic polynomial coefficient selection circuit 55 and q values q₀ to q_(N−2) from the L generation apparatus 210.

The matrix calculation apparatus 230 calculates output data b₀ to b_(N−1) from input data a_(−N) to a⁻¹, output values from the pq value storage element 220 (q values q₀ to q_(N−2) and characteristic polynomial coefficients p⁻¹ to p_(N−1)), and output values a₀ to a_(N−1) from the output storage element 240, and outputs these values as scrambling conversion values. In addition, the matrix calculation apparatus 230 stores output data b₀ to b_(N−1) in the output storage element 240, reads out output data b₀ to b_(N−1) stored in the output storage element 240 each time input data a₀ to a_(N−1) is input to the matrix calculation apparatus 230, and uses that output data as input data a_(−N) to a⁻¹. The details of the matrix calculation apparatus 230 are described later.

The output storage element 240 retains output data b₀ to b_(N−1).

FIG. 3 is an example of the configuration of the L generation apparatus 210. The L generation apparatus 210 is provided with a plurality of multipliers 211 and adders 212. However, this multiplication and addition refers to multiplication and addition in respective Galois fields GF(2), and consists of arithmetic operations realized by logic AND arithmetic units and exclusive logic OR arithmetic units, respectively. In the L generation apparatus 210, for example, the first coefficient p₀ of the characteristic polynomial coefficients is output directly as q₀, the coefficient p₀ and the q value q₀ are multiplied by the multipliers 211, that value and the next coefficient p1 are added by the adders 212, and that value is output as the q value q₁ of the next bit. The L generation apparatus 210 employs a configuration in which these calculations are sequentially repeated. An output value q_(k) (wherein, 0≦k≦N−2, and N is a natural number of 2 or more) of the L generation apparatus 210 can be represented by:

$\begin{matrix} {q_{k} = \left\{ \begin{matrix} p_{0} & \left( {k = 0} \right) \\ {p_{k} + {\sum\limits_{i = 0}^{k - 1}{q_{k - 1 - i} \times p_{i}}}} & \left( {1 \leq k \leq {N - 2}} \right) \end{matrix} \right.} & {{Equation}\mspace{14mu} 19} \end{matrix}$ (wherein, p₀, p₁, . . . , p_(N−1), q₀, q₁, . . . , q_(N−2) belong to Galois field GF(2)), and provided that N is a natural number of 2 or more. The L generation apparatus 210 has a circuit equivalent to Equation 19. A detailed description of q value and the like will be subsequently provided.

FIG. 4 is an example of the configuration of the matrix calculation apparatus 230. The matrix calculation apparatus 230 carries out arithmetic processing on q values q₀ to q_(N−2), characteristic polynomial coefficients p⁻¹ to p_(N−1) and input data a_(−N) to a⁻¹ and a₀ to a_(N−1) from the L generation apparatus 210 with a plurality of multipliers 231 and adders 232, and outputs output data b₀ to b_(N−1). However, this multiplication and addition refers to multiplication and addition in respective Galois fields GF(2), and consists of arithmetic operations realized by logic AND arithmetic units and exclusive logic OR arithmetic units, respectively. In the matrix calculation apparatus 230, for example, input data a⁻¹ and characteristic polynomial coefficient p⁻¹ are multiplied by the multipliers 231. Output value a_(N−1) and characteristic polynomial coefficient p_(N−1) from the output storage element 240 are multiplied by the multipliers. These two products are then added by the adders 232. The matrix calculation apparatus 230 repeats these calculations and outputs output data b₀ to b_(N−1). Output values b₀ to b_(N−1) of the matrix calculation apparatus 230 can be represented by:

$\begin{matrix} {\begin{pmatrix} b_{N - 1} \\ b_{N - 2} \\ \vdots \\ b_{o} \end{pmatrix} = {L \times \left( {{U \times \begin{pmatrix} a_{N - 1} \\ a_{N - 2} \\ \vdots \\ a_{0} \end{pmatrix}} + {p_{- 1} \times \begin{pmatrix} a_{- 1} \\ a_{- 2} \\ \vdots \\ a_{- N} \end{pmatrix}}} \right)}} & {{Equation}\mspace{14mu} 20} \end{matrix}$

Here, L and U are Nth order square matrices, respectively, represented by:

$\begin{matrix} {{L = \begin{pmatrix} 1 & 0 & \ldots & 0 & 0 & 0 \\ q_{0} & 1 & 0 & \ldots & 0 & 0 \\ q_{1} & q_{0} & 1 & 0 & \ldots & 0 \\ \vdots & \; & \ddots & \ddots & \ddots & \vdots \\ q_{N - 3} & q_{N - 4} & \ldots & q_{0} & 1 & 0 \\ q_{N - 2} & q_{N - 3} & \ldots & q_{1} & q_{0} & 1 \end{pmatrix}}{U = \begin{pmatrix} p_{N - 1} & p_{N - 2} & \ldots & p_{2} & p_{1} & p_{0} \\ 0 & p_{N - 1} & p_{N - 2} & \ldots & p_{2} & p_{1} \\ 0 & 0 & p_{N - 1} & p_{N - 2} & \ldots & p_{2} \\ \vdots & \; & \ddots & \ddots & \ddots & \vdots \\ 0 & 0 & \ldots & 0 & p_{N - 1} & p_{N - 2} \\ 0 & 0 & \ldots & 0 & 0 & p_{N - 1} \end{pmatrix}}} & {{Equation}\mspace{14mu} 21} \end{matrix}$ The matrix calculation apparatus 230 depicted in FIG. 4 is a circuit equivalent to Equation 20.

FIG. 5 is a flow chart depicting an example of processing by the linear feedback shift calculation apparatus 20. Once processing starts (S10), the L generation apparatus 210 acquires characteristic polynomial coefficients p⁻¹ to p_(N−1) from the conversion characteristic polynomial coefficient selection circuit 55 and outputs q values q₀ to q_(N−2) (S11).

Next, the matrix calculation apparatus 230 calculates and outputs output data b₀ to b_(N−1) (S12, S13). Namely, the matrix calculation apparatus 230 calculates output data b₀ to b_(N−1) based on the first N number of input data a_(−N) to a⁻¹ and output values a₀ to a_(N−1) (initial value: 0) from the output storage element 240 and outputs that data (S12). Moreover, when input data a_(−N) to a⁻¹ is input, the matrix calculation apparatus 230 calculates output data b₀ to b_(N−1) obtained by the processing of S12 from output storage element 240 as input data a₀ to a_(N−1) (S13).

Next, the matrix calculation apparatus 230 carries out processing of S13 if input data a_(−N) to a⁻¹ has been input (Yes in S14), or ends processing (S15) if input data has not been input (No in S14). The matrix calculation apparatus 230 then outputs data obtained by scrambling and converting input data a_(−N) to a⁻¹ as output data b₀ to b_(N−1).

Next, an explanation is provided of the configuration and equations of the L generation apparatus 210 and the matrix calculation apparatus 230. FIGS. 6 and 7 are an example of the configuration of a linear feedback shift calculation apparatus 25 of an 8-bit input (N=8). The linear feedback shift calculation apparatus 25 depicted in FIG. 6 is equivalent to the linear feedback shift calculation apparatus 20 depicted in FIG. 2. That in which the L generation apparatus 210 and the matrix calculation apparatus 230 and the like have been removed from the linear feedback shift calculation apparatus 25 is the linear feedback shift calculation apparatus 20 depicted in FIG. 2. Furthermore, the linear feedback shift calculation apparatus 25 depicted in FIG. 7 is an example of a configuration in which the linear feedback shift calculation apparatus 25 depicted in FIG. 6 has been slid over by one stage each.

The linear feedback shift calculation apparatus 25 is able to make the current tap position active as a result being imparted with linear polynomial coefficients p⁻¹ to p_(N−1) of arbitrary values. The linear feedback shift calculation apparatus 25 is able to calculate the output of multiple bits (N=8 in the example of FIG. 6) in parallel with a single clock as a result of the combinational circuit portions of each stage being connected in the form of a cascade connection. When input data a₀ to a_(N−1) is imparted to this linear feedback shift calculation apparatus 25, pseudo-randomized output data b₀ to b_(N−1) is output for input data a₀ to a_(N−1) in the same manner as the linear feedback shift calculation apparatus 25 depicted in FIG. 2.

Output data b₀ to b_(N−1) of this linear feedback shift calculation apparatus 20 can be represented as follows:

$\begin{matrix} {b_{N - 1 - k} = \left\{ \begin{matrix} {{\sum\limits_{i = 0}^{N - 1}{p_{i} \times a_{i}}} + {p_{- 1} \times a_{- 1}}} & \left( {k = 0} \right) \\ \begin{matrix} {{\sum\limits_{i = 0}^{N - 1}{p_{i} \times a_{i + k}}} + {\sum\limits_{i = 0}^{k - 1}{p_{i} \times b_{N - k + i}}} +} \\ {p_{- 1} \times a_{{- 1} - k}} \end{matrix} & \left( {1 \leq k \leq {N - 2}} \right) \end{matrix} \right.} & {{Equation}\mspace{14mu} 22} \end{matrix}$ (wherein, a_(N−1), a_(N−2), . . . , a₀, a⁻¹, a⁻², . . . , a_(−N), p_(N−1), p_(N−2), . . . , p₀, p⁻¹ belong to Galois field GF(2)). The linear feedback shift calculation apparatus 25 is a circuit equivalent to this Equation 22.

Here, the linear feedback shift calculation apparatus 25 can be divided into two circuit portions. FIG. 8 is an example of a configuration in which the linear feedback shift calculation apparatus 25 depicted in FIG. 6 and the like is divided into two circuit portions.

As depicted in the drawing, the linear feedback shift calculation apparatus 25 can be divided into a first circuit 26 and a second circuit 27. The first circuit 26 is a circuit portion capable of carrying out calculations directly using input values. The second circuit 27 is a circuit portion has a feedback line connected thereof and carries out calculations using output from the previous stage.

Here, intermediate variables c[0] to c[7] are introduced. The intermediate variables c[0] to c[7] are values obtained when input values have been determined. Output values b[0] to b[7] can be represented using these intermediate variables c[0] to c[7] in the following manner:

$\begin{matrix} {\begin{pmatrix} {b\lbrack 7\rbrack} \\ {b\lbrack 6\rbrack} \\ {b\lbrack 5\rbrack} \\ {b\lbrack 4\rbrack} \\ {b\lbrack 3\rbrack} \\ {b\lbrack 2\rbrack} \\ {b\lbrack 1\rbrack} \\ {b\lbrack 0\rbrack} \\ {c\lbrack 7\rbrack} \\ {c\lbrack 6\rbrack} \\ {c\lbrack 5\rbrack} \\ {c\lbrack 4\rbrack} \\ {c\lbrack 3\rbrack} \\ {c\lbrack 2\rbrack} \\ {c\lbrack 1\rbrack} \\ {c\lbrack 0\rbrack} \end{pmatrix} = {\begin{pmatrix} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ {p\lbrack 0\rbrack} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ {p\lbrack 1\rbrack} & {p\lbrack 0\rbrack} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ {p\lbrack 2\rbrack} & {p\lbrack 1\rbrack} & {p\lbrack 0\rbrack} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ {p\lbrack 3\rbrack} & {p\lbrack 2\rbrack} & {p\lbrack 1\rbrack} & {p\lbrack 0\rbrack} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ {p\lbrack 4\rbrack} & {p\lbrack 3\rbrack} & {p\lbrack 2\rbrack} & {p\lbrack 1\rbrack} & {p\lbrack 0\rbrack} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ {p\lbrack 5\rbrack} & {p\lbrack 4\rbrack} & {p\lbrack 3\rbrack} & {p\lbrack 2\rbrack} & {p\lbrack 1\rbrack} & {p\lbrack 0\rbrack} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ {p\lbrack 6\rbrack} & {p\lbrack 5\rbrack} & {p\lbrack 4\rbrack} & {p\lbrack 3\rbrack} & {p\lbrack 2\rbrack} & {p\lbrack 1\rbrack} & {p\lbrack 0\rbrack} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \end{pmatrix} \cdot \begin{pmatrix} {b\lbrack 7\rbrack} \\ {b\lbrack 6\rbrack} \\ {b\lbrack 5\rbrack} \\ {b\lbrack 4\rbrack} \\ {b\lbrack 3\rbrack} \\ {b\lbrack 2\rbrack} \\ {b\lbrack 1\rbrack} \\ {b\lbrack 0\rbrack} \\ {c\lbrack 7\rbrack} \\ {c\lbrack 6\rbrack} \\ {c\lbrack 5\rbrack} \\ {c\lbrack 4\rbrack} \\ {c\lbrack 3\rbrack} \\ {c\lbrack 2\rbrack} \\ {c\lbrack 1\rbrack} \\ {c\lbrack 0\rbrack} \end{pmatrix}}} & {{Equation}\mspace{14mu} 23} \end{matrix}$ For example, b[5]=p[1]b[7]+p[0]b[6]+c[5]. This Equation 23 represents a recursion formula relating to output values b[0] to b[7] in the form of a matrix. This matrix can be represented as follows:

$\begin{matrix} {\begin{bmatrix} b \\ c \end{bmatrix} = {\begin{bmatrix} T_{P} & I_{N} \\ O_{N} & I_{N} \end{bmatrix} \cdot \begin{bmatrix} b \\ c \end{bmatrix}}} & {{Equation}\mspace{14mu} 24} \end{matrix}$ wherein, 0_(N) is a Nth order zero matrix, I_(N) is an Nth order unit matrix, and T_(p) is an Nth order square matrix in which all diagonal components are “0”.

In Equation 23, b[7] is first determined by the initial substitution, and b[6] is determined in the next substitution. Namely, in the determinant of Equation 23, b[ ] appearing on the right side of Equation 23 can be eliminated by repeating substitution eight times. Thus, each output value b[0] to b[N−1] represented by intermediate variable c[ ] can be obtained by determining the Nth power of the matrix of Equation 24.

The Nth power of Equation 24 becomes as follows.

$\begin{matrix} {\begin{bmatrix} T_{P} & I_{N} \\ O_{N} & I_{N} \end{bmatrix}^{N} = \begin{bmatrix} {T_{P}^{N}\left( {= O_{N}} \right)} & {\sum\limits_{k = 0}^{N - 1}T_{P}^{k}} \\ O_{N} & I_{N} \end{bmatrix}} & {{Equation}\mspace{14mu} 25} \end{matrix}$ Here, since T_(p) is an Nth order square lower triangular matrix in which all diagonal components are “0”, Tp becomes as depicted below. T _(P) ^(N) =O _(N)  Equation 26

Thus, once the following is determined,

$\begin{matrix} {L_{P} = {{\sum\limits_{k = 0}^{N - 1}T_{P}^{k}} = {T_{P}^{N - 1} + T_{P}^{N - 2} + \ldots + T_{P} + I_{N}}}} & {{Equation}\mspace{14mu} 27} \end{matrix}$ output values b[ ] can be determined from intermediate variables c[ ].

Here, when (I_(N)−T_(P)) is multiplied from the left to both sides of Equation 27, left side=(I _(N) −T _(P))L _(P), and right side=I _(N) −T _(P) ^(N) =I _(N) Here, deformation on the right side is dependent on Equation 26. The following results since both sides are equal. L _(P)=(I _(N) −T _(p))⁻¹  Equation 28 Namely, L_(P) is the inverse matrix of (I_(N)−T_(P)). The matrix (I_(N)−T_(P)) is as depicted below.

$\begin{matrix} \begin{pmatrix} 1 & 0 & \ldots & \ldots & \ldots & \ldots & 0 \\ {- {p\lbrack 0\rbrack}} & 1 & 0 & \ldots & \ldots & \ldots & 0 \\ {- {p\lbrack 1\rbrack}} & {- {p\lbrack 0\rbrack}} & 1 & \ldots & \ldots & \ldots & 0 \\ \vdots & \; & \ddots & \ddots & \; & \; & \vdots \\ {- {p\left\lbrack {N - 3} \right\rbrack}} & {- {p\left\lbrack {N - 4} \right\rbrack}} & \ldots & {- {p\lbrack 1\rbrack}} & {- {p\lbrack 0\rbrack}} & 1 & 0 \\ {- {p\left\lbrack {N - 2} \right\rbrack}} & {- {p\left\lbrack {N - 3} \right\rbrack}} & {- {p\left\lbrack {N - 4} \right\rbrack}} & \ldots & {- {p\lbrack 1\rbrack}} & {- {p\lbrack 0\rbrack}} & 1 \end{pmatrix} & {{Equation}\mspace{14mu} 29} \end{matrix}$ Here, L_(P) is assumed to be a lower triangular Toeplitz matrix in which all diagonal components are “1”. A Toeplitz matrix is the generic term for a matrix in which the same elements are arranged diagonally. This assumption is based on the fact that (I_(N)−T_(P)) indicated in Equation 29 is a lower triangular Toeplitz matrix in which all diagonal components are “1”, and that in general, a lower triangular Toeplitz matrix in which all diagonal components are “1” has the property of having an inverse matrix in the form a lower triangular Toeplitz matrix in which all diagonal components are “1”. On the basis of this assumption, matrix L_(P) is represented as depicted below.

$\begin{matrix} {L_{p} = \begin{pmatrix} 1 & 0 & \ldots & \ldots & \ldots & \ldots & 0 \\ {q\lbrack 0\rbrack} & 1 & 0 & \ldots & \ldots & \ldots & 0 \\ {q\lbrack 1\rbrack} & {q\lbrack 0\rbrack} & 1 & \ldots & \ldots & \ldots & 0 \\ \vdots & \; & \ddots & \ddots & \; & \; & \vdots \\ {q\left\lbrack {N - 3} \right\rbrack} & {q\left\lbrack {N - 4} \right\rbrack} & \ldots & {q\lbrack 1\rbrack} & {q\lbrack 0\rbrack} & 1 & 0 \\ {q\left\lbrack {N - 2} \right\rbrack} & {q\left\lbrack {N - 3} \right\rbrack} & {q\left\lbrack {N - 4} \right\rbrack} & \ldots & {q\lbrack 1\rbrack} & {q\lbrack 0\rbrack} & 1 \end{pmatrix}} & {{Equation}\mspace{14mu} 30} \end{matrix}$ Since L_(P)(I_(N)−T_(P))=I_(N) from Equation 28, each component q[ ] of matrix L_(P) is required to satisfy the following equation by comparing the first column of L_(P)(I_(N)−T_(P)) with the first column of I_(N).

$\begin{matrix} {\begin{pmatrix} {q\lbrack 0\rbrack} \\ {q\lbrack 1\rbrack} \\ {q\lbrack 2\rbrack} \\ \vdots \\ {q\left\lbrack {N - 2} \right\rbrack} \end{pmatrix} = \begin{pmatrix} {(1)\left( {p\lbrack 0\rbrack} \right)} \\ {{\left( {q\lbrack 0\rbrack} \right)\left( {p\lbrack 0\rbrack} \right)} + {(1)\left( {p\lbrack 1\rbrack} \right)}} \\ {{\left( {q\lbrack 1\rbrack} \right)\left( {p\lbrack 0\rbrack} \right)} + {\left( {q\lbrack 0\rbrack} \right)\left( {p\lbrack 1\rbrack} \right)} + {(1)\left( {p\lbrack 2\rbrack} \right)}} \\ \vdots \\ \begin{matrix} {{\left( {q\left\lbrack {N - 3} \right\rbrack} \right)\left( {p\lbrack 0\rbrack} \right)} + {\left( {q\left\lbrack {N - 4} \right\rbrack} \right)\left( {p\lbrack 1\rbrack} \right)} + \ldots +} \\ {{\left( {q\lbrack 0\rbrack} \right)\left( {p\left\lbrack {N - 3} \right\rbrack} \right)} + {(1)\left( {p\left\lbrack {N - 2} \right\rbrack} \right)}} \end{matrix} \end{pmatrix}} & {{Equation}\mspace{14mu} 31} \end{matrix}$ Conversely, since L_(P) defined as in Equation 30 results according to q[ ] that satisfies Equation 31, and I_(N) results when the product of the matrix represented by Equation 29 is calculated, L_(P)(I_(N)−T_(P))=I_(N), or in other words, Equation 28 is valid without contradiction. L_(P) was determined this manner.

On the other hand, b[ ]=L_(p)c[ ] from Equations 27 and 25. Thus, once matrix L_(p) has been determined, b[ ] can be determined by calculating the matrix from the value of c[ ].

Equation 19 is a representation of each component of Equation 31 in the form of an equation, and the L generation apparatus 210 is a representation of Equation 31 in the form of a circuit. As was previously described, these Equations 31 and 30 are determined by deformation of the second circuit 27 of the linear feedback shift calculation apparatus 25 so as to be able to be represented with the variable c[ ]. Thus, the second circuit 27 of a circuit configuration in which a feedback line is connected to the next stage can be substituted with the product of the matrix L_(p) determined according to the value (q[ ]) output by the L generation apparatus 210 and a vector composed of the variable c[ ].

On the other hand, in FIG. 8 a matrix calculation formula for obtaining an intermediate variable c[ ] (equivalent to the first circuit 26) can be represented in the following manner.

$\begin{matrix} {\begin{pmatrix} {c\left\lbrack {N - 1} \right\rbrack} \\ \begin{matrix} \begin{matrix} \begin{matrix} {c\left\lbrack {N - 2} \right\rbrack} \\ \vdots \end{matrix} \\ {c\lbrack 1\rbrack} \end{matrix} \\ {c\lbrack 0\rbrack} \end{matrix} \end{pmatrix} = {{U_{p}\begin{pmatrix} {a\left\lbrack {N - 1} \right\rbrack} \\ \begin{matrix} \begin{matrix} \begin{matrix} {a\left\lbrack {N - 2} \right\rbrack} \\ \ldots \end{matrix} \\ {a\lbrack 1\rbrack} \end{matrix} \\ {a\lbrack 0\rbrack} \end{matrix} \end{pmatrix}} + {{p\left\lbrack {- 1} \right\rbrack}\begin{pmatrix} {a^{\prime}\left\lbrack {N - 1} \right\rbrack} \\ \begin{matrix} \begin{matrix} \begin{matrix} {a^{\prime}\left\lbrack {N - 2} \right\rbrack} \\ \vdots \end{matrix} \\ {a^{\prime}\lbrack 1\rbrack} \end{matrix} \\ {a^{\prime}\lbrack 0\rbrack} \end{matrix} \end{pmatrix}}}} & {{Equation}\mspace{14mu} 32} \end{matrix}$ Here, matrix U_(p) is as indicated below.

$\begin{matrix} {U_{p} = \begin{pmatrix} {p\left\lbrack {N - 1} \right\rbrack} & {p\left\lbrack {N - 2} \right\rbrack} & \ldots & {p\lbrack 1\rbrack} & {p\lbrack 0\rbrack} \\ 0 & {p\left\lbrack {N - 1} \right\rbrack} & {p\left\lbrack {N - 2} \right\rbrack} & \; & {p\lbrack 1\rbrack} \\ \vdots & \; & \ddots & \ddots & \vdots \\ 0 & \; & \; & {p\left\lbrack {N - 1} \right\rbrack} & {p\left\lbrack {N - 2} \right\rbrack} \\ 0 & 0 & \ldots & 0 & {p\left\lbrack {N - 1} \right\rbrack} \end{pmatrix}} & {{Equation}\mspace{14mu} 33} \end{matrix}$

In summary of the above, the output value b of the linear feedback shift calculation apparatus 25 can be represented as depicted below using U_(p), L_(p), p[−1], a[ ] and a′[ ]. b=L _(p) {U _(p) a+p[−1]a′}  Equation 34 This Equation 34 is equivalent to the previously described Equation 20.

In this manner, the linear feedback shift calculation apparatus 20 depicted in FIG. 2 separates the circuit portion for feeding back by a feedback line from the linear feedback shift calculation apparatus 25 depicted in FIG. 6 (the second circuit 27) and the circuit portion for determining the product of the L generation apparatus 210 for calculating the matrix L_(p) and vector composed of matrix L_(p) and variable c[ ].

Next, an explanation is provided of simulation results of the linear feedback shift calculation apparatus 20 configured in this manner. FIGS. 9 to 12 are examples of simulation results.

Among these drawings, FIG. 9 is an example of simulation results in the case of polynomial coefficient p changing each time input data a is input in the case of using the linear feedback shift calculation apparatus 25 (FIG. 6). Time is depicted in the vertical axis, while each stage of the linear feedback shift calculation apparatus 25 is depicted on the horizontal axis. As depicted in FIG. 9, when the time at which calculation begins in the linear feedback shift calculation apparatus 25 is defined as “0”, results are obtained in which a time “77” is required until output is obtained from the final stage.

FIG. 10 is an example of simulation results in the case polynomial coefficient p changes each time input data a is input in the case of using the linear feedback shift calculation apparatus 20 (FIG. 2). As depicted in this drawing, a time of “54” is required until the output from the final stage is obtained, and the delay time is shorter in comparison with the linear feedback shift calculation apparatus 25 in which feedback lines are connected in the manner of a cascade.

FIG. 11 is an example of simulation results in the case of using the linear feedback shift calculation apparatus 25 and predetermining polynomial coefficient p prior to calculation. In this case as well, results were obtained in which a time “77” is required from the start of calculations by the linear feedback shift calculation apparatus 25 until output is obtained. Regardless of whether or not the polynomial coefficient p changes for each input of input data a, there is no change in the delay time of the linear feedback shift calculation apparatus 25 in which feedback lines are connected in the manner of a cascade.

FIG. 12 is an example of simulation results in the case of using the linear feedback shift calculation apparatus 20 and predetermining polynomial coefficient p prior to calculation. In this case, results were obtained in which a time “44” is required from the start of calculations by the linear feedback shift calculation apparatus 20 until output is obtained. In this application, there are many cases in which the frequency at which characteristic polynomial coefficient p changes is lower than the frequency of calculation, and thus there are many cases in which the time during which the characteristic polynomial coefficient p is determined prior to calculation is long. In such cases, although delay is improved in the case of using the linear feedback shift calculation apparatus 25, in the case of using the linear feedback shift calculation apparatus 20 (FIG. 2), delay time is improved as a result of eliminating the effect of the processing delay of the L generation apparatus 210.

On the basis of the simulation results described above, the linear feedback shift calculation apparatus 20 provided with the L generation apparatus 210 and the matrix calculation apparatus 230 has a shorter delay time than the linear feedback shift calculation apparatus 25 in which feedback lines are connected in the form of a cascade, and that delay time becomes even shorter in the case polynomial coefficient p is predetermined prior to calculation (FIG. 12).

Next, an explanation is provided of another example of the configuration of the linear feedback shift calculation apparatus 20. FIGS. 13 to 15 are the configuration examples, and depict examples in which the linear feedback shift calculation apparatus 20 is configured with a microprocessor. The linear feedback shift calculation apparatus 20 enables the use of dedicated commands to the use of a microprocessor.

As depicted in FIG. 13, a microprocessor 250 is provided with the matrix calculation apparatus 230, a command fetcher 251, a program counter 252, a command decoder 253, an immediate value generation unit 254, a bit string concatenation unit 256, a register file 257 and a function unit 258. Among these, the immediate value generation unit 254, the matrix calculation apparatus 230, the register file 257 and the function unit 258 are mutually connected to an s1 bus and s2 bus. In addition, the bit string concatenation unit 256, the register file 257 and the function unit 258 are mutually connected to a d bus.

The microprocessor 250 is connected to a memory apparatus 270. The memory apparatus 270 stores the results (q values) of calculations carried out by the L generation apparatus 210 (Equation 19) and characteristic polynomial coefficient p values. The q values are determined in advance by calculation, and those values are stored in the memory apparatus 270. The memory apparatus 270 may also be an external storage apparatus of the microprocessor 250.

Next, an explanation is provided of an example of the operation of the microprocessor 250. The case of input of a command “LUOP d, s1, s2”, for example, is explained. This command indicates that outputs b₀ to b_(N−1) are calculated from register values represented by operand “s1” (p⁻¹ to p_(N−1), q₀ to q_(N−2)) and register values represented by operand “s2” (a_(−N) to a⁻¹, a₀ to a_(N−l)), and that a value obtained by articulating N bit “0” superordinate to that value is written to a register represented by operand “d”.

This command is input to the function unit 258 through the command fetcher 251, the command decoder 253 and the immediate value generation unit 254 and the like. The function unit 258 refers to the data address and reads out the required value from the memory apparatus 270. The read value is then stored in the register file 257 via the d bus.

The matrix calculation apparatus 230 reads out characteristic polynomial coefficient p values p⁻¹ to p_(N−1) and q values of q₀ to q_(N−2) via the s1 bus from the register file 257, and then reads out input values a (input data a_(−N) to a⁻¹, a₀ to a_(N−1)) via the S2 bus. The matrix calculation apparatus 230 then outputs output values b₀ to b_(N−1) in the same manner as the previously described example (FIG. 2). Since 2N bit data (both p and q values and input values a are 2N bits) is handled on the d bus (to facilitate storage in the memory apparatus 270), the bit string concatenation unit 256 articulates the N bit “0” to the superordinate bit and outputs to the d bus for output values b₀ to b_(N−1) of the matrix calculation apparatus 230. Values that have been output to the d bus are stored in the register file 257.

Output values stored in the register file in this manner are output to the memory apparatus 270 through the function unit 258 by subsequently issuing a store command for storing register values in memory. Output values converted by scrambling input values in the same manner as in the previously described example are stored in the memory apparatus 270.

FIG. 14 is another example of the configuration of the linear feedback shift calculation apparatus 20. In this configuration, the microprocessor 250 is further provided with the matrix calculation apparatus 230, a p⁻¹ value generation unit 261, a bit string concatenation unit 262 and a pq register 263.

The p⁻¹ value generation unit 261 generates a p⁻¹ value (=0 or 1) among the p values that corresponds to a command decoded by the command decoder 253, and outputs that value to the bit string concatenation unit 262.

The bit string concatenation unit 262 articulates the output (q value) of the L generation unit 210, the input (characteristic polynomial coefficient p value) and the p⁻¹ value, and outputs to the pq register 263.

The pq register 263 then holds the pq value (p⁻¹ to p_(N−1), q₀ to on q_(N−1)).

Next, an explanation is provided of the operation. Operation is explained using an example of three commands. The first command is a “GENL0 s1” command. This command calculates a q value of q₀ to q_(N−1) using a register value represented by the operand “s1” (p₀ to p_(N−1)), articulates this q value, the p_(N−1) value (=0) and register values p₀ to p_(N−1) and writes this articulated value to the pq register 263.

The input data (including input data a and characteristic polynomial coefficient p) is written to the function unit 258, the d bus and the register file 257. The L generation apparatus 210 reads out p values p₀ to p_(N−1) from the register file 257 via the s1 bus and outputs q values q₀ to q_(N−1). The bit string concatenation unit 256 articulates the outputs q₀ to q_(N−1) of the L generation apparatus 210, p values p₀ to p_(N−1) and the p⁻¹ value (=0) and writes these values to the pq register 263.

The second command is “GENL1 s1”. This command is the same as the command “GENL0 s1” except that the p⁻¹ value (=1) is different.

The third command is “LOUP d, s1, s2”. An explanation of the operation is as follows. The matrix calculation apparatus 230 reads out input data a₀ to a_(N−1) via the s1 bus from the register file 257, reads out input a_(−N) to a_(N−1) via the s2 bus from the register file 257, reads out pq values (q₀ to q_(N−1), p⁻¹ to p_(N−1)) from the pq register 263, calculates output b₀ to b_(N−1) and writes the results to the register file 257 via the d bus. The output b₀ to b_(N−1) written in the register file 257 is then output to the outside via the function unit 258. The data output is converted by scrambling the data input.

FIG. 15 depicts another example of the configuration of the linear feedback shift calculation apparatus 20. Similar to the previously described examples, the microprocessor 250 is provided with the L generation apparatus 210 and the matrix calculation apparatus 230, and bit string concatenation units 262 and 256 are respectively provided on the output side of the L generation apparatus 210 and the matrix calculation apparatus 230.

The following provides an explanation of operation using two commands. The first command is “GENL d, s1”. The L generation apparatus 210 reads out a value represented by “s1” (p values p⁻¹ to p_(N−1)) from the register file 257 via the s1 bus, and calculates a q value of q₀ to q_(N−2). The bit string concatenation unit 262 then articulates this q value of q₀ to q_(N−2) with the p value of p⁻¹ to p_(N−1) and writes to the register file 257 represented by “d” via the d bus.

The second command is “LUOP d, s1, s2”. The matrix calculation apparatus 230 reads out data represented by “s1” (input data a_(−N) to a⁻¹, a₀ to a_(N−1)) from the register file 257 via the s1 bus, reads out values represented by “s2” (p values of p⁻¹ to p_(N−1), q values of q₀ to q_(N−2)) from the register file 257 via the s2 bus, and then calculates output b₀ to b_(N−1). The bit string concatenation unit 256 then articulates the N bit “0” superordinate to the output b₀ to b_(N−1) and writes to the register file 257 via the d bus.

The output data written to the register file 257 is data that has been converted by scrambling the input data, and is output to the outside via the function unit 258 by subsequently issuing a store command and the like for storing register values in memory.

In the examples described above, the digital transmission and reception apparatus 1 has been explained using the example of containing a sending side (transmission frame assembly unit 10 to modulation-demodulation parameter selection circuit 60) and a receiving side (CPU 40 to transmission frame disassembly unit 75). However, the invention can also be carried out with the digital transmission and reception apparatus 1 containing only a sending side or a receiving side.

A data transmission method in a communication apparatus having a small delay, a communication apparatus, a linear feedback shift calculation apparatus and a microprocessor can be provided.

All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a depicting of the superiority and inferiority of the invention. Although the embodiment(s) of the present invention has been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention. 

What is claimed is:
 1. A linear feedback shift calculation apparatus, into which input data is input, and which outputs output data, comprising: an L generation unit which generates q values of q₀ to q_(N−2) represented by: $\begin{matrix} {q_{k} = \left\{ \begin{matrix} p_{0} & \left( {k = 0} \right) \\ {p_{k} + {\sum\limits_{i = 0}^{k - 1}{q_{k - 1 - i} \times p_{i}}}} & \left( {1 \leq k \leq {N - 2}} \right) \end{matrix} \right.} & {{Equation}\mspace{14mu} 35} \end{matrix}$ (where, p₀, p₁, . . . , p_(N−1), q₀, q₁, . . . , q_(N−2) belong to Galois field GF(2)) from coefficients p₀ to p_(N−2) among inputted coefficients p⁻¹ to p_(N−1) (wherein, N is a natural number of 2 or more), and stores the q values of q₀ to q_(N−2) in a memory; and a matrix calculation unit which outputs the output data calculated from the output data b₀ to b_(N−1) represented by: $\begin{matrix} {\begin{pmatrix} b_{N - 1} \\ b_{N - 2} \\ \vdots \\ b_{o} \end{pmatrix} = {L \times \left( {{U \times \begin{pmatrix} a_{N - 1} \\ a_{N - 2} \\ \vdots \\ a_{0} \end{pmatrix}} + {p_{- 1} \times \begin{pmatrix} a_{- 1} \\ a_{- 2} \\ \vdots \\ a_{- N} \end{pmatrix}}} \right)}} & {{Equation}\mspace{14mu} 36} \\ {and} & \; \\ {{L = \begin{pmatrix} 1 & 0 & \ldots & 0 & 0 & 0 \\ q_{0} & 1 & 0 & \ldots & 0 & 0 \\ q_{1} & q_{0} & 1 & 0 & \ldots & 0 \\ \vdots & \; & \ddots & \ddots & \ddots & \vdots \\ q_{N - 3} & q_{N - 4} & \ldots & q_{0} & 1 & 0 \\ q_{N - 2} & q_{N - 3} & \ldots & q_{1} & q_{0} & 1 \end{pmatrix}}{U = \begin{pmatrix} p_{N - 1} & p_{N - 2} & \ldots & p_{2} & p_{1} & p_{0} \\ 0 & p_{N - 1} & p_{N - 2} & \ldots & p_{2} & p_{1} \\ 0 & 0 & p_{N - 1} & p_{N - 2} & \ldots & p_{2} \\ \vdots & \; & \ddots & \ddots & \ddots & \vdots \\ 0 & 0 & \ldots & 0 & p_{N - 1} & p_{N - 2} \\ 0 & 0 & \ldots & 0 & 0 & p_{N - 1} \end{pmatrix}}} & {{Equation}\mspace{14mu} 37} \end{matrix}$ from the q values q₀ to q_(N−2) read out from the memory, the coefficients p⁻¹ to p_(N−1) and the input data a_(−N) to a⁻¹, a₀ to a_(N−1).
 2. The linear feedback shift calculation apparatus according to claim 1, wherein the L generation unit is input with the coefficients p⁻¹ to p_(N−1) by reading out the coefficients p⁻¹ to p_(N−1) stored in the memory.
 3. The linear feedback shift calculation apparatus according to claim 1, wherein the coefficients p⁻¹ to p_(N−1) are values corresponding to a communication format for transmitting the output data.
 4. The linear feedback shift calculation apparatus according to claim 1, wherein the input data is data contained in a transmission frame assembled from transmission information, and a transmission frame containing the output data is transmitted via a channel after modulation.
 5. The linear feedback shift calculation apparatus according to claim 1, wherein the input data is data contained in a transmission frame obtained by demodulating reception data received via a channel, and reception data is obtained from a transmission frame containing the output data.
 6. A communication apparatus, comprising: a transmission frame assembly unit which assembles a transmission frame from transmission information; a linear feedback shift calculation unit which outputs output data b₀ to b_(N−1) from input data a_(−N) to a⁻¹ (where, N is a natural number of 2 or more) contained in the transmission frame and inputted coefficients p⁻¹ to p_(N−1); and a modulation unit which modulates the transmission frame containing the output data b₀ to b_(N−1), wherein the linear feedback shift calculation unit including: an L generation unit which generates q values of q₀ to q_(N−2) represented by: $\begin{matrix} {q_{k}\left\{ \begin{matrix} p_{0} & \left( {k = 0} \right) \\ {p_{k} + {\sum\limits_{i = 0}^{k - 1}{q_{k - 1 - i} \times p_{i}}}} & \left( {1 \leq k \leq {N - 2}} \right) \end{matrix} \right.} & {{Equation}\mspace{14mu} 38} \end{matrix}$ (where, p₀, p₁, . . . , p_(N−1), q₀, q₁, . . . , q_(N−2) belong to Galois field GF(2)) from coefficients p₀ to p_(N−2) among the coefficients p⁻¹ to p_(N−1), and stores the q values of q₀ to q_(N−2) in a memory; and a matrix calculation unit which calculates and outputting the output data b₀ to b_(N−1) represented by: $\begin{matrix} {\begin{pmatrix} b_{N - 1} \\ b_{N - 2} \\ \vdots \\ b_{o} \end{pmatrix} = {L \times \left( {{U \times \begin{pmatrix} a_{N - 1} \\ a_{N - 2} \\ \vdots \\ a_{0} \end{pmatrix}} + {p_{- 1} \times \begin{pmatrix} a_{- 1} \\ a_{- 2} \\ \vdots \\ a_{- N} \end{pmatrix}}} \right)}} & {{Equation}\mspace{14mu} 39} \\ {and} & \; \\ {{L = \begin{pmatrix} 1 & 0 & \ldots & 0 & 0 & 0 \\ q_{0} & 1 & 0 & \ldots & 0 & 0 \\ q_{1} & q_{0} & 1 & 0 & \ldots & 0 \\ \vdots & \; & \ddots & \ddots & \ddots & \vdots \\ q_{N - 3} & q_{N - 4} & \ldots & q_{0} & 1 & 0 \\ q_{N - 2} & q_{N - 3} & \ldots & q_{1} & q_{0} & 1 \end{pmatrix}}{U = \begin{pmatrix} p_{N - 1} & p_{N - 2} & \ldots & p_{2} & p_{1} & p_{0} \\ 0 & p_{N - 1} & p_{N - 2} & \ldots & p_{2} & p_{1} \\ 0 & 0 & p_{N - 1} & p_{N - 2} & \ldots & p_{2} \\ \vdots & \; & \ddots & \ddots & \ddots & \vdots \\ 0 & 0 & \ldots & 0 & p_{N - 1} & p_{N - 2} \\ 0 & 0 & \ldots & 0 & 0 & p_{N - 1} \end{pmatrix}}} & {{Equation}\mspace{14mu} 40} \end{matrix}$ from the q values q₀ to q_(N−2) read out from the memory, the coefficients p⁻¹ to p_(N−1) and the input data a_(−N) to a⁻¹, a₀ to a_(N−1).
 7. A communication apparatus, comprising: a demodulation unit which outputs a transmission frame by demodulating reception data, a linear feedback shift calculation unit which outputs output data b₀ to b_(N−1) from input data a_(−N) to a⁻¹ (where, N is a natural number of 2 or more) contained in the transmission frame and inputted coefficients p⁻¹ to p_(N−1); and a transmission frame disassembly unit which outputs reception information from a transmission frame containing the output data b₀ to b_(N−1), wherein the linear feedback shift calculation unit including: an L generation unit which generates q values of q₀ to q_(N−2) represented by: $\begin{matrix} {q_{k}\left\{ \begin{matrix} p_{0} & \left( {k = 0} \right) \\ {p_{k} + {\sum\limits_{i = 0}^{k - 1}{q_{k - 1 - i} \times p_{i}}}} & \left( {1 \leq k \leq {N - 2}} \right) \end{matrix} \right.} & {{Equation}\mspace{14mu} 41} \end{matrix}$ Equation 41 (where, p₀, p₁, . . . , p_(N−1), q₀, q₁, . . . , q_(N−2) belong to Galois field GF(2)) from coefficients p₀ to p_(N−2) among the coefficients p⁻¹ to p_(N−1), and stores the q values of q₀ to q_(N−2) in a memory; and a matrix calculation unit which calculates and outputting the output data b₀ to b_(N−1) represented by: $\begin{matrix} {\begin{pmatrix} b_{N - 1} \\ b_{N - 2} \\ \vdots \\ b_{o} \end{pmatrix} = {L \times \left( {{U \times \begin{pmatrix} a_{N - 1} \\ a_{N - 2} \\ \vdots \\ a_{0} \end{pmatrix}} + {p_{- 1} \times \begin{pmatrix} a_{- 1} \\ a_{- 2} \\ \vdots \\ a_{- N} \end{pmatrix}}} \right)}} & {{Equation}\mspace{14mu} 42} \\ {and} & \; \\ {{L = \begin{pmatrix} 1 & 0 & \ldots & 0 & 0 & 0 \\ q_{0} & 1 & 0 & \ldots & 0 & 0 \\ q_{1} & q_{0} & 1 & 0 & \ldots & 0 \\ \vdots & \; & \ddots & \ddots & \ddots & \vdots \\ q_{N - 3} & q_{N - 4} & \ldots & q_{0} & 1 & 0 \\ q_{N - 2} & q_{N - 3} & \ldots & q_{1} & q_{0} & 1 \end{pmatrix}}{U = \begin{pmatrix} p_{N - 1} & p_{N - 2} & \ldots & p_{2} & p_{1} & p_{0} \\ 0 & p_{N - 1} & p_{N - 2} & \ldots & p_{2} & p_{1} \\ 0 & 0 & p_{N - 1} & p_{N - 2} & \ldots & p_{2} \\ \vdots & \; & \ddots & \ddots & \ddots & \vdots \\ 0 & 0 & \ldots & 0 & p_{N - 1} & p_{N - 2} \\ 0 & 0 & \ldots & 0 & 0 & p_{N - 1} \end{pmatrix}}} & {{Equation}\mspace{14mu} 43} \end{matrix}$ from the q values q₀ to q_(N−2) read out from the memory, the coefficients p⁻¹ to p_(N−1) and the input data a_(−N) to a⁻¹, a₀ to a_(N−1).
 8. A microprocessor, comprising: an L generation unit which generates q values of q₀ to q_(N−2) represented by: $\begin{matrix} {q_{k}\left\{ \begin{matrix} p_{0} & \left( {k = 0} \right) \\ {p_{k} + {\sum\limits_{i = 0}^{k - 1}{q_{k - 1 - i} \times p_{i}}}} & \left( {1 \leq k \leq {N - 2}} \right) \end{matrix} \right.} & {{Equation}\mspace{14mu} 44} \end{matrix}$ Equation 44 (where, p₀, p₁, . . . , p_(N−1), q₀, q₁, . . . , q_(N−2) belong to Galois field GF(2)) from coefficients p₀ to p_(N−2) among inputted coefficients p⁻¹ to p_(N−1) (where, N is a natural number of 2 or more), and stores the q values of q₀ to q_(N−2), in a memory; and a matrix calculation unit which calculates and outputting output data b₀ to b_(N−1) represented by: $\begin{matrix} {\begin{pmatrix} b_{N - 1} \\ b_{N - 2} \\ \vdots \\ b_{o} \end{pmatrix} = {L \times \left( {{U \times \begin{pmatrix} a_{N - 1} \\ a_{N - 2} \\ \vdots \\ a_{0} \end{pmatrix}} + {p_{- 1} \times \begin{pmatrix} a_{- 1} \\ a_{- 2} \\ \vdots \\ a_{- N} \end{pmatrix}}} \right)}} & {{Equation}\mspace{14mu} 45} \\ {and} & \; \\ {{L = \begin{pmatrix} 1 & 0 & \ldots & 0 & 0 & 0 \\ q_{0} & 1 & 0 & \ldots & 0 & 0 \\ q_{1} & q_{0} & 1 & 0 & \ldots & 0 \\ \vdots & \; & \ddots & \ddots & \ddots & \vdots \\ q_{N - 3} & q_{N - 4} & \ldots & q_{0} & 1 & 0 \\ q_{N - 2} & q_{N - 3} & \ldots & q_{1} & q_{0} & 1 \end{pmatrix}}{U = \begin{pmatrix} p_{N - 1} & p_{N - 2} & \ldots & p_{2} & p_{1} & p_{0} \\ 0 & p_{N - 1} & p_{N - 2} & \ldots & p_{2} & p_{1} \\ 0 & 0 & p_{N - 1} & p_{N - 2} & \ldots & p_{2} \\ \vdots & \; & \ddots & \ddots & \ddots & \vdots \\ 0 & 0 & \ldots & 0 & p_{N - 1} & p_{N - 2} \\ 0 & 0 & \ldots & 0 & 0 & p_{N - 1} \end{pmatrix}}} & {{Equation}\mspace{14mu} 46} \end{matrix}$ from the q values q₀ to q_(N−2) read out from the memory, the coefficients p⁻¹ to p_(N−1) and the input data a_(−N) to a⁻¹, a₀ to a_(N−1).
 9. A microprocessor, comprising: a matrix calculation unit which reads out q values q₀ to q_(N−2) represented by: $\begin{matrix} {q_{k}\left\{ \begin{matrix} p_{0} & \left( {k = 0} \right) \\ {p_{k} + {\sum\limits_{i = 0}^{k - 1}{q_{k - 1 - i} \times p_{i}}}} & \left( {1 \leq k \leq {N - 2}} \right) \end{matrix} \right.} & {{Equation}\mspace{14mu} 47} \end{matrix}$ (where, p₀, p₁, . . . , p_(N−1), q₀, q₁, . . . , q_(N−2) belong to Galois field GF(2)), for coefficients p₀ to p_(N−2) among inputted coefficients p⁻¹ to p_(N−1) (where, N is a natural number of 2 or more), and the coefficients p⁻¹ to p_(N−1) from an external storage apparatus, and outputting the output data calculated from the output data b₀ to b_(N−1) represented by: $\begin{matrix} {\begin{pmatrix} b_{N - 1} \\ b_{N - 2} \\ \vdots \\ b_{o} \end{pmatrix} = {L \times \left( {{U \times \begin{pmatrix} a_{N - 1} \\ a_{N - 2} \\ \vdots \\ a_{0} \end{pmatrix}} + {p_{- 1} \times \begin{pmatrix} a_{- 1} \\ a_{- 2} \\ \vdots \\ a_{- N} \end{pmatrix}}} \right)}} & {{Equation}\mspace{14mu} 48} \\ {and} & \; \\ {{L = \begin{pmatrix} 1 & 0 & \ldots & 0 & 0 & 0 \\ q_{0} & 1 & 0 & \ldots & 0 & 0 \\ q_{1} & q_{0} & 1 & 0 & \ldots & 0 \\ \vdots & \; & \ddots & \ddots & \ddots & \vdots \\ q_{N - 3} & q_{N - 4} & \ldots & q_{0} & 1 & 0 \\ q_{N - 2} & q_{N - 3} & \ldots & q_{1} & q_{0} & 1 \end{pmatrix}}{U = \begin{pmatrix} p_{N - 1} & p_{N - 2} & \ldots & p_{2} & p_{1} & p_{0} \\ 0 & p_{N - 1} & p_{N - 2} & \ldots & p_{2} & p_{1} \\ 0 & 0 & p_{N - 1} & p_{N - 2} & \ldots & p_{2} \\ \vdots & \; & \ddots & \ddots & \ddots & \vdots \\ 0 & 0 & \ldots & 0 & p_{N - 1} & p_{N - 2} \\ 0 & 0 & \ldots & 0 & 0 & p_{N - 1} \end{pmatrix}}} & {{Equation}\mspace{14mu} 49} \end{matrix}$ from the q values q₀ to q_(N−2), the coefficients p⁻¹ to p_(N−1) and the input data a_(−N) to a⁻¹, a₀ to a_(N−1).
 10. A method for outputting data in a linear feedback shift calculation apparatus, the method comprising: generating q values q₀ to q_(N−2) represented by: $\begin{matrix} {q_{k} = \left\{ \begin{matrix} p_{0} & \left( {k = 0} \right) \\ {p_{k} + {\sum\limits_{i = 0}^{k - 1}{q_{k - 1 - i} \times p_{1}}}} & \left( {1 \leq k \leq {N - 2}} \right) \end{matrix} \right.} & {{Equation}\mspace{14mu} 50} \end{matrix}$ (where, p₀, p₁, . . . , p_(N−1), q₀, q₁, . . . , q_(N−2) belong to Galois field GF(2)), from coefficients p₀ to p_(N−2) among inputted coefficients p⁻¹ to p_(N−1) (where, N is a natural number of 2 or more), and storing the q values q₀ to q_(N−2) in a memory, by an L generation unit of the linear feedback shift calculation apparatus; and calculating and outputting the output data b₀ to b_(N−1) represented by: $\begin{matrix} {\begin{pmatrix} b_{N - 1} \\ b_{N - 2} \\ \vdots \\ b_{o} \end{pmatrix} = {L \times \left( {{U \times \begin{pmatrix} a_{N - 1} \\ a_{N - 2} \\ \vdots \\ a_{0} \end{pmatrix}} + {p_{- 1} \times \begin{pmatrix} a_{- 1} \\ a_{- 2} \\ \vdots \\ a_{- N} \end{pmatrix}}} \right)}} & {{Equation}\mspace{14mu} 51} \\ {and} & \; \\ {{L = \begin{pmatrix} 1 & 0 & \ldots & 0 & 0 & 0 \\ q_{0} & 1 & 0 & \ldots & 0 & 0 \\ q_{1} & q_{0} & 1 & 0 & \ldots & 0 \\ \vdots & \; & \ddots & \ddots & \ddots & \vdots \\ q_{N - 3} & q_{N - 4} & \ldots & q_{0} & 1 & 0 \\ q_{N - 2} & q_{N - 3} & \ldots & q_{1} & q_{0} & 1 \end{pmatrix}}{U = \begin{pmatrix} p_{N - 1} & p_{N - 2} & \ldots & p_{2} & p_{1} & p_{0} \\ 0 & p_{N - 1} & p_{N - 2} & \ldots & p_{2} & p_{1} \\ 0 & 0 & p_{N - 1} & p_{N - 2} & \ldots & p_{2} \\ \vdots & \; & \ddots & \ddots & \ddots & \vdots \\ 0 & 0 & \ldots & 0 & p_{N - 1} & p_{N - 2} \\ 0 & 0 & \ldots & 0 & 0 & p_{N - 1} \end{pmatrix}}} & {{Equation}\mspace{14mu} 52} \end{matrix}$ from the q values q₀ to q_(N−2) read out from the memory, the coefficients p⁻¹ to p_(N−1) and the input data a_(−N) to a⁻¹, a₀ to a_(N−1) by a matrix calculation unit of the linear feedback shift calculation apparatus.
 11. A data transmission method in a communication apparatus containing a linear feedback shift calculation apparatus, the method comprising: assembling a transmission frame from transmission information; outputting output data b₀ to b_(N−1) from input data a_(−N) to a⁻¹ (where, N is a natural number of 2 or more) contained in the transmission frame and inputted coefficients p⁻¹ to p_(N−1) by the linear feedback shift calculation apparatus; and modulating the transmission frame containing the output data b₀ to b_(N−1), wherein the outputting step including: generating q values q₀ to q_(N−2) represented by: $\begin{matrix} {q_{k} = \left\{ \begin{matrix} p_{0} & \left( {k = 0} \right) \\ {p_{k} + {\sum\limits_{i = 0}^{k - 1}{q_{k - 1 - i} \times p_{1}}}} & \left( {1 \leq k \leq {N - 2}} \right) \end{matrix} \right.} & {{Equation}\mspace{14mu} 53} \end{matrix}$ (where, p₀, p₁, . . . , p_(N−1), q₀, q₁, . . . , q_(N−2) belong to Galois field GF(2)), from coefficients p₀ to p_(N−2) among the coefficients p⁻¹ to p_(N−1), and storing the q values q₀ to q_(N−2) in a memory, by an L generation unit contained in the linear feedback shift calculation apparatus; and calculating and outputting the output data b₀ to b_(N−1) represented by: $\begin{matrix} {\begin{pmatrix} b_{N - 1} \\ b_{N - 2} \\ \vdots \\ b_{o} \end{pmatrix} = {L \times \left( {{U \times \begin{pmatrix} a_{N - 1} \\ a_{N - 2} \\ \vdots \\ a_{0} \end{pmatrix}} + {p_{- 1} \times \begin{pmatrix} a_{- 1} \\ a_{- 2} \\ \vdots \\ a_{- N} \end{pmatrix}}} \right)}} & {{Equation}\mspace{14mu} 54} \\ {and} & \; \\ {{L = \begin{pmatrix} 1 & 0 & \ldots & 0 & 0 & 0 \\ q_{0} & 1 & 0 & \ldots & 0 & 0 \\ q_{1} & q_{0} & 1 & 0 & \ldots & 0 \\ \vdots & \; & \ddots & \ddots & \ddots & \vdots \\ q_{N - 3} & q_{N - 4} & \ldots & q_{0} & 1 & 0 \\ q_{N - 2} & q_{N - 3} & \ldots & q_{1} & q_{0} & 1 \end{pmatrix}}{U = \begin{pmatrix} p_{N - 1} & p_{N - 2} & \ldots & p_{2} & p_{1} & p_{0} \\ 0 & p_{N - 1} & p_{N - 2} & \ldots & p_{2} & p_{1} \\ 0 & 0 & p_{N - 1} & p_{N - 2} & \ldots & p_{2} \\ \vdots & \; & \ddots & \ddots & \ddots & \vdots \\ 0 & 0 & \ldots & 0 & p_{N - 1} & p_{N - 2} \\ 0 & 0 & \ldots & 0 & 0 & p_{N - 1} \end{pmatrix}}} & {{Equation}\mspace{14mu} 55} \end{matrix}$ from the q values q₀ to q_(N−2) read out from the memory, the coefficients p⁻¹ to p_(N−1) and the input data a_(−N) to a⁻¹, a₀ to a_(N−1) by a matrix calculation unit contained in the linear feedback shift calculation apparatus.
 12. A data reception method in a communication apparatus containing a linear feedback shift calculation apparatus, the method comprising: outputting a transmission frame by demodulating reception data; outputting output data b₀ to b_(N−1) from input data a_(−N) to a⁻¹ (where, N is a natural number of 2 or more) contained in the transmission frame and inputted coefficients p⁻¹ to p_(N−1) by the linear feedback shift calculation apparatus; and outputting reception information from a transmission frame containing the output data b₀ to b_(N−1), wherein the outputting step including: generating q values q₀ to q_(N−2) represented by: $\begin{matrix} {q_{k} = \left\{ \begin{matrix} p_{0} & \left( {k = 0} \right) \\ {p_{k} + {\sum\limits_{i = 0}^{k - 1}{q_{k - 1 - i} \times p_{1}}}} & \left( {1 \leq k \leq {N - 2}} \right) \end{matrix} \right.} & {{Equation}\mspace{14mu} 56} \end{matrix}$ (where, p₀, p₁, . . . , p_(N−1), q₀, q₁, . . . , q_(N−2) belong to Galois field GF(2)), from coefficients p₀ to p_(N−2) among the coefficients p⁻¹ to p_(N−1), and storing the q values q₀ to q_(N−2) in a memory, by an L generation unit contained in the linear feedback shift calculation apparatus; and calculating and outputting the output data b₀ to b_(N−1) represented by: $\begin{matrix} {\begin{pmatrix} b_{N - 1} \\ b_{N - 2} \\ \vdots \\ b_{o} \end{pmatrix} = {L \times \left( {{U \times \begin{pmatrix} a_{N - 1} \\ a_{N - 2} \\ \vdots \\ a_{0} \end{pmatrix}} + {p_{- 1} \times \begin{pmatrix} a_{- 1} \\ a_{- 2} \\ \vdots \\ a_{- N} \end{pmatrix}}} \right)}} & {{Equation}\mspace{14mu} 57} \\ {and} & \; \\ {{L = \begin{pmatrix} 1 & 0 & \ldots & 0 & 0 & 0 \\ q_{0} & 1 & 0 & \ldots & 0 & 0 \\ q_{1} & q_{0} & 1 & 0 & \ldots & 0 \\ \vdots & \; & \ddots & \ddots & \ddots & \vdots \\ q_{N - 3} & q_{N - 4} & \ldots & q_{0} & 1 & 0 \\ q_{N - 2} & q_{N - 3} & \ldots & q_{1} & q_{0} & 1 \end{pmatrix}}{U = \begin{pmatrix} p_{N - 1} & p_{N - 2} & \ldots & p_{2} & p_{1} & p_{0} \\ 0 & p_{N - 1} & p_{N - 2} & \ldots & p_{2} & p_{1} \\ 0 & 0 & p_{N - 1} & p_{N - 2} & \ldots & p_{2} \\ \vdots & \; & \ddots & \ddots & \ddots & \vdots \\ 0 & 0 & \ldots & 0 & p_{N - 1} & p_{N - 2} \\ 0 & 0 & \ldots & 0 & 0 & p_{N - 1} \end{pmatrix}}} & {{Equation}\mspace{14mu} 58} \end{matrix}$ from the q values q₀ to q_(N−2) read out from the memory, the coefficients p⁻¹ to p_(N−1) and the input data a_(−N) to a⁻¹, a₀ to a_(N−1) by a matrix calculation unit contained in the linear feedback shift calculation apparatus. 